package rocketmq.demo.consume;

import com.alibaba.rocketmq.client.consumer.DefaultMQPushConsumer;
import com.alibaba.rocketmq.client.exception.MQClientException;
import com.alibaba.rocketmq.common.consumer.ConsumeFromWhere;

public class Consumer2 {

    public static void main(String[] args) throws InterruptedException, MQClientException {

        DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("testGroup");

        /**
         * 设置Consumer第一次启动是从队列头部开始消费还是队列尾部开始消费<br>
         * 如果非第一次启动，那么按照上次消费的位置继续消费
         */
        consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);

        // 在本地搭建好broker后,记得指定nameServer的地址
        consumer.setNamesrvAddr("127.0.0.1:9876");

        // 设置订阅的话题
        // 可以订阅多个主题，也可以订阅多个标签
        // subExpression：Tag列表  所有:* 部分：tag1||tag2||tag3
        consumer.subscribe("TopicOneWay", "testTag||testTag2||testTag3");
        consumer.subscribe("TopicSync", "*");
        consumer.subscribe("TopicAsync", "*");
        consumer.registerMessageListener(new MessageListenerConcurrentlyImpl());
        consumer.start();
        System.out.println("消息消费开始···");
    }
}
